package cn.hx.admin.service.impl;

import cn.hx.admin.entity.City;
import cn.hx.admin.dao.CityDao;
import cn.hx.admin.service.CityService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (City)表服务实现类
 *
 * @author makejava
 * @since 2023-12-12 18:22:18
 */
@Service("cityService")
public class CityServiceImpl implements CityService {
    @Resource
    private CityDao cityDao;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public City queryById(Integer id) {
        return this.cityDao.queryById(id);
    }

    /**
     * 分页查询
     *
     * @param city 筛选条件
     * @return 查询结果
     */
    @Override
    public List<City> queryByPage(City city) {
        return this.cityDao.queryAll(city);
    }

    @Override
    public List<City> queryAllWithCount() {
        return cityDao.queryAllWithCount();
    }

    /**
     * 新增数据
     *
     * @param city 实例对象
     * @return 实例对象
     */
    @Override
    public City insert(City city) {
        this.cityDao.insert(city);
        return city;
    }

    /**
     * 修改数据
     *
     * @param city 实例对象
     * @return 实例对象
     */
    @Override
    public City update(City city) {
        this.cityDao.update(city);
        return this.queryById(city.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.cityDao.deleteById(id) > 0;
    }
}
